/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function PrintFromTopToBottom(root)
{
    // write code here
    //从上往下来做 的思路是 
    // 定义一个数组 定义一个队列
    // 每得到一个根节点就把根节点放入到 队列里 每循环一次就把头部的元素弹出 将其值放在结果数组中 然后将节点的左右子树的根节点放在 结果队列里 判断这个是不是空 是空就不放 不是空格就放
    var res = [] // 定义结果数组
    var queue = [] // 遍历元素的队列
    // 特殊情况判断
    if(root === null) return []
    queue.push(root)
    while(queue.length > 0){
      var node = queue.shift()
      res.push(node.val)
      if(node.left) queue.push(node.left)
      if(node.right) queue.push(node.right)
    }
    return res
}
module.exports = {
    PrintFromTopToBottom : PrintFromTopToBottom
};